package com.iwhalecloud.bss.kite.cucc.service.route;

import com.iwhalecloud.bss.kite.cucc.client.dto.cust.CuccContextCustDTO;
import com.iwhalecloud.bss.kite.cucc.client.dto.inf.InfServContextDTO;

/**
 * <Description> <br>
 * 接口调用参数封装辅助工具类
 *
 * @author XXZ<br>
 * @version 1.0<br>
 * @taskId <br>
 * @CreateDate 2020年12月12日 <br>
 * @since R9.0<br>
 * @see com.iwhalecloud.bss.kite.cucc.service.route <br>
 */
public abstract class InfServParamUtils {
    /**
     * Description: <br>
     * 订单提交入参封装
     *
     * @author XXZ<br>
     * @taskId <br>
     * @param sceneInstId
     * @param custId
     * @return <br>
     */
    public static InfServContextDTO genSceneCommit(String sceneInstId, String staffId, String orgId,
        CuccContextCustDTO custDto, Boolean checkAccountModule, Boolean checkContractModule, String curOfferInstId) {
        InfServContextDTO context = new InfServContextDTO();
        context.setSceneInstId(sceneInstId);
        context.setStaffId(staffId);
        context.setOrgId(orgId);
        context.setCustDto(custDto);
        context.setCheckAccountModule(checkAccountModule);
        context.setCheckContractModule(checkContractModule);
        context.setOfferInstId(curOfferInstId);
        return context;
    }

    /**
     * Description: <br>
     * 获取工单信息接口入参组装
     *
     * @author XXZ<br>
     * @taskId <br>
     * @param sceneInstId
     * @param staffId
     * @return <br>
     */
    public static InfServContextDTO genGetWorkOrder(String orderId, String flowId, String taskId, String orderSource) {
        InfServContextDTO context = new InfServContextDTO();
        context.setOrderId(orderId);
        context.setFlowId(flowId);
        context.setTaskId(taskId);
        context.setOrderSource(orderSource);
        return context;
    }

    /**
     * Description: <br>
     * 获取工单更新入参接口
     *
     * @taskId <br>
     * @return <br>
     */
    public static InfServContextDTO genWorkOrderUpdate(String sceneInstId, String staffId, String orgId,
        CuccContextCustDTO custDto) {
        InfServContextDTO context = new InfServContextDTO();
        context.setSceneInstId(sceneInstId);
        context.setStaffId(staffId);
        context.setOrgId(orgId);
        context.setCustDto(custDto);
        return context;
    }
}
